#pragma once
#include "stdafx.h"

class CAnsiCommand
{
public:
	enum Action
	{
		CursorUp, CursorDown, CursorForward, CursorBack, CursorNextLine, CursorPrevLine, CursorHorizontal,
		CursorPosition, EraseInDisplay, EraseInLine, SelectGraphicRendition,
		InsertLine, DeviceStatusReport, 
		SaveCursorPosition, RestoreCursorPosition
	};

public:
	static const int maxParameterCount = 16;

	CAnsiCommand(void);
	CAnsiCommand(Action action, int parameterBuffer[], int parameterCount);

	Action action;
	int parameterBuffer[maxParameterCount];
    int parameterCount;

protected:
	int* defaultParameterBuffer;
	int defaultParameterCount;

	void InitializeParameterCountAndDefaultParameters();
};
